This invention relates to methods for locating geographical locations of users employing a computer network such as the Internet, and more specifically relates to methods for allowing Internet servers to locate geographical locations of end users who access such servers.
The number of companies that conduct business over the Internet is increasing exponentially. Companies that provide on-line content to promote and provide their goods and services over the Internet have effectively opened their market to the entire globe. End users from many different states or countries can access a company""s web site and obtain information and/or purchase products and services on-line.
The globalization of Internet businesses means that a company needs to cater its information and/or available products and services to many end users with different needs and preferences which are influenced by their geographical locations. A good or a service that may be relevant to a particular geographical location may be completely useless or undesirable in another geographical location.
Furthermore, many on-line advertisers who place advertisements such as banner ads on top or bottom of third party web pages continually strive to find improved ways to target their ads based on the end users"" geographical locations. For example, placing an advertisement for goods and products suitable for one geographical location may be completely inappropriate for another geographical location. Without knowing the origin of an end user who views an online advertisement on a web page, it is impossible for an on-line advertiser to select the type of advertisement that is relevant to the end user""s geographical location.
In many instances, both business providers and on-line advertisers also desire to determine the geographical location and the corresponding number of end users who have accessed their site or have selected a particular on-line advertisements in order to track the rate of responses to their advertisements and/or content and to improve their marketing strategies.
Thus, there is a need for a system and method that enables an on-line business provider to determine the geographical location of an end user who has accessed its web site in order to provide relevant information corresponding to that geographical location.
In accordance with one embodiment of the invention a location tracking system is employed to build a geographic location database of Internet network nodes along with their IP addresses and geographical location of each corresponding IP address. The database is configured to be updated and expanded. The update and expansion of the database may occur at predetermined times or on a continuous basis.
In order to compile the geographic location database, the location tracking system in accordance with one embodiment of the invention, locates on-line services that engage end-user interaction. A typical example of such an on-line service may include Internet Relay Chats (IRC), also known as chat rooms, or Internet instant messaging, geographically local newsgroups, etc.
In accordance with one embodiment of the invention, the location tracking system includes a tracing engine module that is configured in at least one instance to send a route identification command to all the end-users who are currently on-line. In response to the route identification command, the tracing engine module receives IP address numbers of all intermediary host computers that were employed in the route that dynamically connects the location tracking system to each of the end users. The location tracking system then obtains the geographical location of each end user that is currently on-line, based on the prior information that the user had provided.
In accordance with another embodiment of the invention, the location tracking system obtains from commercially available databases the IP addresses of all major Internet Service Providers in each region within the country, along with their URL addresses and corresponding geographic locations, and stores that information in the system""s database.
The location tracking system, in accordance with one embodiment of the invention, includes a database management module that is configured to maintain a database of IP addresses with their corresponding geographical locations in accordance with a predetermined set of criteria as specified by the location tracking system. In response to the IP address information provided by the tracing engine module, the database management module associates each IP address with a geographical location.
In accordance with one embodiment of the invention, location tracking system stores only the IP addresses whose geographical information is known. However, in another embodiment of the invention, the association of an IP address with a geographic location is accomplished by employing a statistical analysis on the number of users connected to a particular host site and their corresponding geographical locations as obtained by the location tracking system. The location tracking system then stores that derived information in a IP address-geographic location database.
In accordance with another embodiment of the invention, the location tracking system obtains IP addresses of backbone computer nodes that are employed to direct information traffic via Internet. The identification and location of these backbone computer nodes are typically known. The database management module then generates a random list of IP addresses. In respond to each generated IP address, the trace engine module sends a route identification command in order to obtain the IP addresses of the intermediary computer nodes. The database management module then determines whether any of the intermediary computer nodes have already been identified as a backbone computer node. Thereafter, the database management module determines whether any of the IP addresses in the random list matches an IP address connection to one of these backbone network nodes. If so the geographical location of the IP address can be calculated and the IP address-geographical location database gets populated. The location tracking system includes a database that stores the host name of the backbone network nodes so that the database management module can identify the geographical location of an IP address whose host name matches a stored host name.
In accordance with yet another embodiment of the invention, the location tracking system includes a database that stores host names or portions of host names and domain names of relatively well known host computers, such as universities, or large commercial enterprises, and backbone nodes, along with their corresponding geographical locations. When in response to a route identification command a set of IP address numbers are returned, location tracking system conducts a pattern matching function to determine whether any portion of the host name corresponding to the received IP address numbers matches a pattern stored in host name pattern database. If so, the system associates the returned IP address to a stored geographic location.
In accordance with another embodiment of the invention, the location tracking system obtains a directory of all local service providers in each region in the country. Thereafter, the location tracking system dials those local numbers and receives their IP address information in response to a route identification command. Since, the system had initiated a call to a known server location, IP address information received can be associated to that known server location.
In accordance with another embodiment of the invention, once the IP address-geographic location database has been sufficiently populated, the location tracking system can be employed by a plurality of on-line business providers or advertisers. A link command is embedded in the web pages of a participating on-line business provider or advertiser. In response to a user who downloads the webpage of the participating merchant, the link command directs the location tracking system to estimate the geographical location of the end user.
In accordance with one embodiment of the invention, the location tracking system employs its trace engine module to send a route identification command to the end user so as to obtain the IP addresses of all the computer nodes employed in connecting the end user to the Internet. The database management engine then matches the IP address of the server that is directly connect to the end-user""s computer to an IP address in the IP address-geographic location database. If a match is found, the end-user""s geographical location is then estimated. Thereafter, the location tracking system sends a command to a URL switch command module, so as to send the appropriate URL to the end user based, among other things, on the estimated geographical location of the end user.